package com.sky.service;

import com.sky.dto.DataOverViewQueryDTO;
import com.sky.vo.OrderReportVO;
import com.sky.vo.SalesTop10ReportVO;
import com.sky.vo.TurnoverReportVO;
import com.sky.vo.UserReportVO;

/**
 * @Description ReportService
 * @Author zhuzi
 * @Date 2023/10/08
 */
public interface ReportService {

    /**
     * 统计营业额
     *
     * @param data DataOverViewQueryDTO
     * @return TurnoverReportVO
     */
    TurnoverReportVO getTurnoverReport(DataOverViewQueryDTO data);

    /**
     * 用户统计
     *
     * @param data DataOverViewQueryDTO
     * @return UserReportVO
     */
    UserReportVO getUserReport(DataOverViewQueryDTO data);

    /**
     * 订单统计
     *
     * @param data DataOverViewQueryDTO
     * @return OrderReportVO
     */
    OrderReportVO getOrderReport(DataOverViewQueryDTO data);

    /**
     * 获取销量前10的商品（包括菜品和套餐）
     *
     * @param data DataOverViewQueryDTO
     * @return SalesTop10ReportVO
     */
    SalesTop10ReportVO getTop10(DataOverViewQueryDTO data);

}
